package cn.ygh.bbo.system.service;

import cn.ygh.bbo.framerwork.core.BaseService;
import cn.ygh.bbo.framerwork.core.Grid;
import cn.ygh.bbo.system.bean.GlobalConfig;
import org.springframework.data.domain.Pageable;
import java.io.Serializable;
import java.util.List;

/**
 * 描述：全局配置  Service
 * @author ygh
 */
public interface GlobalConfigService extends BaseService {
    /**
     * 保存对象
     * @param globalConfig 对象信息
     * @return
     */
    int save(GlobalConfig globalConfig);

    /**
     * 更新对象
     * @param globalConfig 对象信息
     * @return
     */
    int update(GlobalConfig globalConfig);

    /**
     * 批量更新
     * @param globalConfig 对象信息
     * @param ids
     * @return
     */
    int updateBatchByIds(GlobalConfig globalConfig, Serializable[] ids);

    /**
    * 根据ID删除对象
    * @param id
    * @return
    */
    int deleteById(Serializable id);

    /**
    * 根据ID数组批量删除对象
    * @param ids
    * @return
    */
    int deleteByIds(Serializable[] ids);

    /**
    * 根据ID获取对象
    * @param id
    * @return
    */
    GlobalConfig getById(Serializable id);

    /**
    * 根据ID数组获取对象列表
    * @param ids
    * @return
    */
    List<GlobalConfig> listfindByIn(Serializable[] ids);

    /**
    * 根据对象信息获取满足条件的对象列表
    * @param globalConfig 对象信息
    * @param pageable 分页条件为空则不分页
    * @return
    */
    List<GlobalConfig> listfind(GlobalConfig globalConfig, Pageable pageable);

    /**
    * 根据对象信息获取满足条件的对象列表和总数
    * @param globalConfig 对象信息
    * @param pageable 分页条件
    * @return
    */
    Grid listGrid(GlobalConfig globalConfig, Pageable pageable);

}
